﻿using Microsoft.AspNetCore.Mvc;
using System.Net;
using System.Text;

namespace MVC高级教程.Controllers
{

    /// <summary>
    /// Requset属性
    /// 返回的是HttpResponse对象
    /// </summary>
    public class ResponseController : Controller
    {
        /**
                    HttpResponse响应对象
                        属性;
                            ①、Body     ：获取或设置响应正文
                            ②、BodyWriter  :获取响应正文PipeWriter
                            ③、ContentLength: 获取或设置 Context-Length响应头的值
                            ④、ContentType：  获取或设置 content-Type 响应头的值
                            ⑤、Cookies ：     获取可用于管理此响应的Cookie的对象
                            ⑥、HasStarted：   获取一个值，该值指示是否已经将响应头发送到客户端
                            ⑦、Headers ：     获取响应头的集合
                            ⑧、HttpContext:   HttpContext 获取此响应
                            ⑨、StatusCode ：  响应状态码，   (响应前是可以设置的)
         *  
         **/



        public IActionResult Index()
        {

            //设置响应语言   zh-CN 中文响应     en-us 英文响应
            //HttpContext.Response.Headers.Add("Content-language","zh-CN");


            Response.StatusCode =(int)HttpStatusCode.NotFound;//HttpStatusCode是一个枚举类型

            return NotFound();
        }

        /// <summary>
        /// 下载
        /// </summary>
        /// <returns></returns>
        public IActionResult TestResponse()
        {
            using var ms =new MemoryStream();
            ms.Write(Encoding.Default.GetBytes("欢迎来到任我行码农场"));
            return File(ms.ToArray(), "application/oct-stream", "测试下载.txt");
        }
    }
}
